diff options
| author | Frank <[email protected]> | 2025-11-16 03:29:49 -0500 |
|---|---|---|
| committer | Frank <[email protected]> | 2025-11-16 03:29:52 -0500 |
| commit | 0e12dd62a3a4af8d00c0d1d5a445f0071bef47ab (patch) | |
| tree | 0a7aeaa74f8d01dca94450b96bba93fecff22a7b /packages/console/app/src/routes/workspace/[id]/usage-section.module.css | |
| parent | 2b957b5d1ce45c2413e39869a0ce9f3c81ea80fe (diff) | |
| download | opencode-0e12dd62a3a4af8d00c0d1d5a445f0071bef47ab.tar.gz opencode-0e12dd62a3a4af8d00c0d1d5a445f0071bef47ab.zip | |
zen: usage paging
Diffstat (limited to 'packages/console/app/src/routes/workspace/[id]/usage-section.module.css')
| -rw-r--r-- | packages/console/app/src/routes/workspace/[id]/usage-section.module.css | 165 |
1 files changed, 94 insertions, 71 deletions
diff --git a/packages/console/app/src/routes/workspace/[id]/usage-section.module.css b/packages/console/app/src/routes/workspace/[id]/usage-section.module.css index 1a772ba87..2bd331bd9 100644 --- a/packages/console/app/src/routes/workspace/[id]/usage-section.module.css +++ b/packages/console/app/src/routes/workspace/[id]/usage-section.module.css @@ -1,88 +1,111 @@ -.root { - [data-component="empty-state"] { - padding: var(--space-20) var(--space-6); - text-align: center; - border: 1px dashed var(--color-border); - border-radius: var(--border-radius-sm); - display: flex; - flex-direction: column; - gap: var(--space-2); - - p { - line-height: 1.5; - font-size: var(--font-size-sm); - color: var(--color-text-muted); +/* Empty state */ +[data-component="empty-state"] { + padding: var(--space-20) var(--space-6); + text-align: center; + border: 1px dashed var(--color-border); + border-radius: var(--border-radius-sm); + + p { + font-size: var(--font-size-sm); + color: var(--color-text-muted); + } +} + +/* Table container */ +[data-slot="usage-table"] { + overflow-x: auto; +} + +/* Table element */ +[data-slot="usage-table-element"] { + width: 100%; + border-collapse: collapse; + font-size: var(--font-size-sm); + + thead { + border-bottom: 1px solid var(--color-border); + } + + th { + padding: var(--space-3) var(--space-4); + text-align: left; + font-weight: normal; + color: var(--color-text-muted); + text-transform: uppercase; + } + + td { + padding: var(--space-3) var(--space-4); + border-bottom: 1px solid var(--color-border-muted); + color: var(--color-text-muted); + font-family: var(--font-mono); + + &[data-slot="usage-date"] { + color: var(--color-text); + } + + &[data-slot="usage-model"] { + font-family: var(--font-sans); + color: var(--color-text-secondary); + max-width: 200px; + word-break: break-word; + } + + &[data-slot="usage-cost"] { + color: var(--color-text); + font-weight: 500; } } - [data-slot="usage-table"] { - overflow-x: auto; + tbody tr:last-child td { + border-bottom: none; } +} - [data-slot="usage-table-element"] { - width: 100%; - border-collapse: collapse; +/* Pagination */ +[data-slot="pagination"] { + display: flex; + justify-content: flex-end; + gap: var(--space-2); + padding: var(--space-4) 0; + border-top: 1px solid var(--color-border-muted); + margin-top: var(--space-2); + + button { + padding: var(--space-2) var(--space-4); + background: var(--color-bg-secondary); + border: 1px solid var(--color-border); + border-radius: var(--border-radius-sm); + color: var(--color-text); font-size: var(--font-size-sm); + cursor: pointer; + transition: all 0.15s ease; - thead { - border-bottom: 1px solid var(--color-border); + &:hover:not(:disabled) { + background: var(--color-bg-tertiary); + border-color: var(--color-border-hover); } - th { - padding: var(--space-3) var(--space-4); - text-align: left; - font-weight: normal; - color: var(--color-text-muted); - text-transform: uppercase; + &:disabled { + opacity: 0.5; + cursor: not-allowed; } + } +} +/* Mobile responsive */ +@media (max-width: 40rem) { + [data-slot="usage-table-element"] { + th, td { - padding: var(--space-3) var(--space-4); - border-bottom: 1px solid var(--color-border-muted); - color: var(--color-text-muted); - font-family: var(--font-mono); - - &[data-slot="usage-date"] { - color: var(--color-text); - } - - &[data-slot="usage-model"] { - font-family: var(--font-sans); - font-weight: 400; - color: var(--color-text-secondary); - max-width: 200px; - word-break: break-word; - } - - &[data-slot="usage-cost"] { - color: var(--color-text); - } - } - - tbody tr { - &:last-child td { - border-bottom: none; - } + padding: var(--space-2) var(--space-3); + font-size: var(--font-size-xs); } - @media (max-width: 40rem) { - th, - td { - padding: var(--space-2) var(--space-3); - font-size: var(--font-size-xs); - } - - th { - &:nth-child(2) /* Model */ { - display: none; - } - } - - td { - &:nth-child(2) /* Model */ { - display: none; - } - } + /* Hide Model column on mobile */ + th:nth-child(2), + td:nth-child(2) { + display: none; } } } |
